import request from '../index'

/**
 * 用户相关API
 */
const userApi = {
    /**
     * 获取用户信息
     * @param {Number} userId 用户ID
     * @returns {Promise} 请求结果
     */
    getUserInfo(userId) {
        return request({
            url: `/api/users/${userId}`,
            method: 'get'
        })
    },

    /**
     * 更新用户信息
     * @param {Object} data 用户信息数据
     * @returns {Promise} 请求结果
     */
    updateUserInfo(data) {
        return request({
            url: '/api/users',
            method: 'put',
            data
        })
    },
    /**
 * 更新用户信息
 * @param {Object} data 用户信息数据
 * @returns {Promise<userInfo>} 请求结果
 */
    updateUserInfoAndReturn(data) {
        return request({
            url: '/api/users/info',
            method: 'post',
            data
        })
    },

    /**
     * 修改密码
     * @param {Object} data 密码数据
     * @returns {Promise} 请求结果
     */
    changePassword(data) {
        return request({
            url: '/api/users/password',
            method: 'put',
            data
        })
    },

    /**
     * 上传文件
     * @param {Number} userId 用户ID
     * @param {File} file 文件对象
     * @param {String} fileType 文件类型
     * @returns {Promise} 请求结果
     */
    uploadFile(userId, file, fileType) {
        const formData = new FormData()
        formData.append('file', file)
        formData.append('fileType', fileType)
        
        return request({
            url: `/api/users/${userId}/upload`,
            method: 'post',
            data: formData,
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })
    }
}

export default userApi